<?php declare(strict_types=1);
namespace Umserv\ExchangeInterfaces\V1\Core\Http;

/**
 * Класс обертка для модели успешного ответа
 */
final class Response extends \Umserv\ExchangeInterfaces\V1\Core\Http\BaseResponse
{
    /**
     * @var array|\Umserv\ExchangeInterfaces\V1\Core\Dto\BaseModelInterface Данные для ответа в запросе
     */
    public array | \Umserv\ExchangeInterfaces\V1\Core\Dto\BaseModelInterface $data = [];

    public function getAsJson(): string {
        $data = [];

        if(is_array($this->data)){
            $data = $this->data;
        }else{
            $data = $this->data->getAsArray();
        }

        return json_encode([
                'response' => $data,
                'error' => null
            ],JSON_UNESCAPED_SLASHES | JSON_HEX_QUOT);
    }
}